<template>
  <view class="container">
    <!-- 1、体温简介 -->
    <uni-section class="temperature-section" title="体温简介" type="line">
      <uni-card :is-shadow="false" class="temperature-card">
        <text class="uni-cal">
          体温是人体健康的重要指标之一。正常体温范围通常为 36.1°C 到 37.2°C。持续的高温或低温可能预示着某些健康问题。
        </text>

        <!-- 输入框和计算按钮 -->
        <view class="input-area">
          <view class="input-group">
            <text class="label">请输入体温 (°C):</text>
            <input v-model="temperature" type="number" placeholder="请输入体温" />
          </view>

          <!-- 结果展示区 -->
          <view class="result-area">
            <text class="result-label">您的体温:</text>
            <text class="result-value">{{ temperature }} °C</text>
            <text class="result-status">-{{ status }}</text>
            <text class="health-advice">{{ healthAdvice }}</text>
          </view>
          <button @click="evaluateTemperature" type="primary">评估体温</button>
        </view>
      </uni-card>
    </uni-section>
  </view>
</template>

<script>
export default {
  data() {
    return {
      temperature: '', // 用户输入的体温值
      status: '', // 体温状态（正常、发热、低体温等）
      healthAdvice: '' // 健康建议
    };
  },
  methods: {
    // 评估体温并给出状态和健康建议
    evaluateTemperature() {
      if (this.temperature !== '') {
        this.setStatusAndAdvice(this.temperature);
      } else {
        this.status = '请输入体温值';
        this.healthAdvice = '';
      }
    },
    // 根据体温值设置状态和健康建议
    setStatusAndAdvice(temp) {
      if (temp >= 36.1 && temp <= 37.2) {
        this.status = '正常体温';
        this.healthAdvice = '您的体温正常，保持健康的生活方式。';
      } else if (temp > 37.2 && temp <= 38.5) {
        this.status = '轻度发热';
        this.healthAdvice = '您可能有轻度发热，建议适当休息，并注意观察症状。';
      } else if (temp > 38.5 && temp <= 39.5) {
        this.status = '中度发热';
        this.healthAdvice = '体温较高，请适当降温，并考虑就医。';
      } else if (temp > 39.5) {
        this.status = '高烧';
        this.healthAdvice = '高烧可能是疾病的症状，建议尽快就医。';
      } else if (temp < 35.0) {
        this.status = '低体温';
        this.healthAdvice = '体温过低可能导致危险，请尽快取暖并寻求帮助。';
      } else if (temp >= 35.0 && temp < 36.1) {
        this.status = '轻度低体温';
        this.healthAdvice = '体温较低，请穿暖和的衣物，保持温暖。';
      }
    }
  }
};
</script>

<style lang="scss">
  .container {
    padding: 20rpx;

    .temperature-section {
      .temperature-card {
        .input-area {
          margin-top: 20rpx;
        }

        .input-area {
          .input-group {
            display: flex;
            margin: 10rpx 0;
          }
        }
      }

      .result-area {
        margin-top: 20rpx;
        .result-label {
          font-size: 16px;
        }
        .result-value {
          font-size: 20px;
          font-weight: bold;
        }
        .result-status {
          color: #ff4d4f;
          font-size: 14px;
        }
        .health-advice {
          font-size: 14px;
          color: #0084ff;
          margin-top: 10rpx;
        }
      }
    }
  }
</style>
